// ----------------------------------
// RSDK Project: Sonic 1/Sonic 2
// Script Description: Death Event Object
// Script Author: Christian Whitehead/Simon Thomley
// Unpacked by Rubberduckycooly's script unpacker
// ----------------------------------

//-------Aliases-------//
private alias 7 : TYPE_DEATHEVENT


// Static Values

// Tables

event ObjectMain
	switch object.state
	case 0
	case 1
		temp0 = screen.xcenter
		temp0 -= 72
		if object.value1 < temp0
			object.value1 += 16
			if object.value1 > temp0
				object.value1 = temp0
			end if
		end if
		temp0 += 80
		if object.value2 > temp0
			object.value2 -= 16
			if object.value2 < temp0
				object.value2 = temp0
			end if
		end if
		if object.value3 < 288
			object.value3 += 4
		else
			if object.state == 0
				recStageList = stage.activeList
				recStage = stage.listPos
				stage.activeList = PRESENTATION_STAGE
				if player.continues == 0
					stage.listPos = StageName[P - MAIN MENU]
				else
					stage.listPos = StageName[P - CONTINUE SCREEN]
				end if
				lampPostID = 0
				if options.gameMode == 1
					arrayPos1 = options.saveSlot
					arrayPos1 <<= 3
					arrayPos1 += 1000
					arrayPos1++
					saveRAM[arrayPos1] = 3
					arrayPos1++
					saveRAM[arrayPos1] = 0
					arrayPos1++
					saveRAM[arrayPos1] = 0xC350
					player.score = 0
				end if
			else
				if options.gameMode == 1
					arrayPos1 = options.saveSlot
					arrayPos1 <<= 3
					arrayPos1 += 1000
					arrayPos1++
					saveRAM[arrayPos1] = player.lives
				end if		
				if options.gameMode == 3
					saveRAM[630] = player.score
					temp0 = stage.playerListPos
					temp0++
					saveRAM[640] = temp0
					stage.activeList = PRESENTATION_STAGE
					stage.listPos = StageName[P - ARCADE]
				end if
			end if
			if object.state == 1
				recMilliSeconds = 0
				recSeconds = 0
				recMinutes = 0
			end if
			WriteSaveRAM()
			LoadStage()
		end if
		if object.value3 > 0
			music.volume -= 2
			SetClassicFade(0, 0, 0, object.value3)
		else
			if inputPress.buttonA == 1
				object.value3 = 0
			end if
			if inputPress.buttonB == 1
				object.value3 = 0
			end if
			if inputPress.buttonC == 1
				object.value3 = 0
			end if
		end if
		break
	case 2
		if object.value3 < 288
			music.volume -= 2
			object.value3 += 4
		else
			if options.gameMode == 1
				arrayPos1 = options.saveSlot
				arrayPos1 <<= 3
				arrayPos1 += 1000
				arrayPos1++
				saveRAM[arrayPos1] = player.lives
			end if
			if options.gameMode == 3
				saveRAM[630] = player.score
				temp0 = stage.playerListPos
				temp0++
				saveRAM[640] = temp0
				stage.activeList = PRESENTATION_STAGE
				stage.listPos = StageName[P - ARCADE]
			end if
			WriteSaveRAM()
			LoadStage()
		end if
		SetClassicFade(0, 0, 0, object.value3)
		break
	case 3
		if object.value3 < 288
			music.volume -= 2
			object.value3 += 4
		else
			timeAttack.result = 0x186A0
			player.score = 0
			lampPostID = 0
			recMilliSeconds = 0
			recSeconds = 0
			recMinutes = 0
			stage.milliSeconds = 0
			stage.seconds = 0
			stage.minutes = 0
			//stage.activeList = PRESENTATION_STAGE
			//stage.listPos = StageName[P - TIME ATTACK]
			WriteSaveRAM()
			LoadStage()
			//engine.state = 8
		end if
		SetClassicFade(0, 0, 0, object.value3)
		break
	end switch
end event


event ObjectDraw
	switch object.state
	case 0
		DrawSpriteScreenXY(0, object.value1, 96)
		DrawSpriteScreenXY(2, object.value2, 96)
		break
	case 1
		DrawSpriteScreenXY(1, object.value1, 96)
		DrawSpriteScreenXY(2, object.value2, 96)
		break
	end switch
end event


event ObjectStartup
	LoadSpriteSheet("Global/Display.gif")
	SpriteFrame(0, 0, 64, 16, 1, 239)
	SpriteFrame(0, 0, 56, 16, 66, 239)
	SpriteFrame(0, 0, 64, 16, 123, 239)
end event

event RSDKDraw
	DrawSprite(0)
end event

event RSDKLoad
	LoadSpriteSheet("Global/Display.gif")
	SpriteFrame(-16, -16, 32, 32, 1, 143)
end event
